package abstracT;

/**
 * 抽象：现实中不存在的东西
 * 在Java中：只声明,不实现
 * 抽象方法：使用abstract修饰,不可以有方法体,直接用分号结束
 * 抽象类：如果一个类中有抽象方法：这个了必须是一个抽象类
 * 特点：
 *  1.抽象类不可以创建对象
 *  2.抽象类的子类,必须重写父类中的抽象方法，否则,这个子类必须也是抽象类
 *  通过抽象类可以强制的要求子类中必须有哪些方法.
 *  小知识点:抽象类中可以有正常的方法
 *
 * 接口：
 *  接口实际上是一种特殊的抽象类
 *  接口中所有的方法都是抽象方法
 *  接口使用interface来声明
 *
 *  类只能单继承,接口支持多实现
 *  接口同样具有多态性
 *  接口可以把很多不相关的内容进行整合
 *
 * 特点：
 * 1.接口中所有的方法都是抽象方法,都是公开的
 * 2.接口中所有的变量都是全局静态常量
 *
 */
public class Test {
    public static void main(String[] args) {
        /*Valuable g = new Gold();//接口一样有多态性
        g.getMoney();*/
   System.out.println(Valuable.money);

    }
}
